package com.sky.service;

import com.sky.dto.CountryDTO;
import com.sky.dto.CountryPageQueryDTO;
import com.sky.result.PageResult;
import java.util.List;
import com.sky.entity.Country;

public interface CountryService{
    /**
     * 新增国家
     * @param countryDTO
     */
    void insert(CountryDTO countryDTO);

    /**
     * 启用或禁用国家
     * @param id
     * @param status
     */
    void startOrStop(Long id, Integer status);

    /**
     * 修改国家
     * @param countryDTO
     */
    void update(CountryDTO countryDTO);


    /**
     * 删除国家
     * @param id
     */
    void delete(Long id);

    /**
     * 分页查询国家
     * @param countryPageQueryDTO
     * @return
     */
    PageResult page(CountryPageQueryDTO countryPageQueryDTO);

    /**
     * 查询国家下的签证产品数量
     * @param id
     * @return
     */
    Integer countProductNumber(Long id);
    /**
     * 根据领区id查询国家列表
     * @param regionId 领区id
     * @return 该领区下的国家列表
     */
    List<Country> getCountriesByRegionId(Long regionId);

    
    /**
     * 获取所有国家列表
     * @return 国家列表
     */
    List<Country> list();
}
